From 561fb058216bbecebf88f47e47027c37b25dec8e Mon Sep 17 00:00:00 2001 From: robertl Date: Sun, 4 Apr 2010 19:20:53 +0000 Subject: [PATCH] Improve support for GR-245 in Holux M241 module. --- mtk_logger.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/mtk_logger.c b/mtk_logger.c index dea987f24..db230af80 100644 --- a/mtk_logger.c +++ b/mtk_logger.c @@ -381,6 +381,7 @@ static void mtk_rd_init_m241 (const char *fname) { static void mtk_rd_init(const char *fname){ int rc; + char *model; port = xstrdup(fname); @@ -410,13 +411,28 @@ static void mtk_rd_init(const char *fname){ fatal(MYNAME ": Failed to set baudrate !\n"); } - rc = do_cmd("$PMTK605*31\r\n", "PMTK705", NULL, 10); + rc = do_cmd("$PMTK605*31\r\n", "PMTK705,", &model, 10); if ( rc != 0 ) fatal(MYNAME ": This is not a MTK based GPS ! (or is device turned off ?)\n"); + // say hello to GR245 to make it display "USB PROCESSING" + if (strstr(model, "GR-245")) { + mtk_device = HOLUX_GR245; // remember we have a GR245 for mtk_rd_deinit() + rc |= do_cmd("$PHLX810*35\r\n", "PHLX852,", NULL, 10); + rc |= do_cmd("$PHLX826*30\r\n", "PHLX859*38", NULL, 10); + if (rc != 0) + dbg(2, "Greeting not successfull.\n"); + } + xfree(model); } static void mtk_rd_deinit(void){ + if (mtk_device == HOLUX_GR245) { + int rc = do_cmd("$PHLX827*31\r\n", "PHLX860*32", NULL, 10); + if (rc != 0) + dbg(2, "Goodbye not successfull.\n"); + } + dbg(3, "Closing port...\n"); gbser_deinit(fd); fd = NULL; -- 2.30.2